<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta content="always" name="referrer">
<meta name="format-detection" content="telephone=no" />
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<title>微信支付</title>
<link rel="stylesheet" href="/LianniuWeb/tea/css/reset.css">
<script type="text/javascript"
	src="/LianniuWeb/tea/js/jquery-1.11.3.min.js"></script>
<script src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
<script type="text/javascript" src="/LianniuWeb/js/commons/commons.js"></script>
</head>
<body>
	<script type="text/javascript">
		var config;
		$.post(server_url + "rest/tokenValidate/getSignature.do", {
			"url" : window.location.href.split('#')[0]
		}, function(result) {
			token = wx.config({
				debug : false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
				appId : appId, // 必填，公众号的唯一标识
				timestamp : result.timestamp, // 必填，生成签名的时间戳
				nonceStr : result.noncestr, // 必填，生成签名的随机串
				signature : result.signature, // 必填，签名，见附录1
				jsApiList : [ 'checkJsApi', 'chooseWXPay' ]
			// 必填，需要使用的JS接口列表，所有JS接口列表见附录2
			});

		});
		wx.ready(function() {
			wx.checkJsApi({
				jsApiList : [ 'chooseWXPay' ],
				success : function(res) {
					if (res.checkResult.getLocation == false) {
						alert('你的微信版本太低，不支持微信JS接口，请升级到最新的微信版本！');
						return;
					}
				}
			});
		});
		var param = JSON.parse(localStorage.getItem('param'));
		var orderId = param.orderId;
		var code = GetRequest().code;
		var clientUrl = window.location.href.split('#')[0];
		$(function() {
			/* var url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=wxb0f5fe89c5840bf4&secret=f5d9e0b78ca03c83d72323eded7b3876&code="+code+"&grant_type=authorization_code";
			$.post('rest/tea/pay',{code:code}function(data){
				console.log(data);
			},"json"); */
			//alert(clientUrl);
			$.ajax({
				type : "get",
				url : server_url + 'rest/tea/pay/getOpenId.do?ran='
						+ Math.random(),
				dataType : 'json',
				async : true,
				data : {
					token : token,
					code : code,
				},
				success : function(result) {
					if (result.retCode == '0000') {
						var openid = result.data;
						if (open == "") {
							alert("请勿重复付款")
						} else {
							alert(openid);
							//调用后台，生成一个prepay_id,然后返回前台，调用
							$.ajax({
								type : "get",
								url : server_url   
										+ 'tea/chooseWXPay/transferPay.do?ran='
										+ Math.random(),
								dataType : 'json',
								async : true,
								data : {
									token : token,
									payPricewd:localStorage.getItem("payPricewd"),
									userId:localStorage.getItem("userid"),
									openid:openid,
									clientUrl:clientUrl
								},
								success : function(result) {
									console.log(result);
									if (result.retCode == '0000') {
										//alert("hehe");
										config = result.data;
										console.log(config);
										/* wx.chooseWXPay({
									           "timestamp":config.timeStamp,         //时间戳，自1970年以来的秒数     
									           "nonceStr":config.nonceStr, //随机串     
									           "package":config.packageValue,     
									           "signType":"MD5",         //微信签名方式：     
									           "paySign":config.paySign, //微信签名 
									          success:function(res){
									        	  	//alert(res);
									          }
										}); */
										if (typeof WeixinJSBridge == "undefined"){
											//alert("进入if了")
											   if( document.addEventListener ){
											       document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
											   }else if (document.attachEvent){
											       document.attachEvent('WeixinJSBridgeReady', onBridgeReady); 
											       document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);
											   }
											}else{
												//alert("进入else了")
												WeixinJSBridge.invoke(
													       'getBrandWCPayRequest', {
													           "appId":appId,     //公众号名称，由商户传入     
													           "timeStamp":config.timeStamp,         //时间戳，自1970年以来的秒数     
													           "nonceStr":config.nonceStr, //随机串     
													           "package":config.packageValue,     
													           "signType":"MD5",         //微信签名方式：     
													           "paySign":config.paySign //微信签名 
													       },
													       function(res){
													    	   	  //console.log(res);
													           if(res.err_msg == "get_brand_wcpay_request:ok" ) {
													        	   		alert("充值成功");
																	setTimeout(fresh,2000);
													           } else{
													        	   		alert("充值失败");
													           }    // 使用以上方式判断前端返回,微信团队郑重提示：res.err_msg将在用户支付成功后返回    ok，但并不保证它绝对可靠。
													           
													       });
											} 
									} else {
										showErrorMsg(result.data);
									}
								}
							});
						}
					} else {
						showErrorMsg(result.data);
					}
				}
			});
		});
		function GetRequest() {
			var url = location.search; //获取url中"?"符后的字串
			var theRequest = new Object();
			if (url.indexOf("?") != -1) {
				var str = url.substr(1);
				strs = str.split("&");
				for (var i = 0; i < strs.length; i++) {
					theRequest[strs[i].split("=")[0]] = unescape(strs[i]
							.split("=")[1]);
				}
			}
			return theRequest;
		}
		function onBridgeReady(){
				//alert("调用了onBridgeReady");
				//var time = config.timeStamp.toString();
				//alert(time);
			   WeixinJSBridge.invoke(
				   'getBrandWCPayRequest', {
			           "appId":appId,     //公众号名称，由商户传入     
			           "timeStamp":config.timeStamp,         //时间戳，自1970年以来的秒数     
			           "nonceStr":config.nonceStr, //随机串     
			           "package":config.packageValue,     
			           "signType":"MD5",         //微信签名方式：     
			           "paySign":config.paySign //微信签名 
			       },
			       function(res){     
			           if(res.err_msg == "get_brand_wcpay_request:ok" ) {
			        	   		alert("充值成功");
							setTimeout(fresh,2000);
			           }else{
			        	   		alert(res);
			           }     // 使用以上方式判断前端返回,微信团队郑重提示：res.err_msg将在用户支付成功后返回    ok，但并不保证它绝对可靠。 
			       }
			   ); 
			}
		function fresh(){
			window.location = server_url + "myMoney.do";
		}
	</script>
</body>
</html>